home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Frameworks / TransSkel 3.24 / 00README next >
Text File  |  1996-01-25  |  7KB  |  89 lines

  1. This is TransSkel release 3.24
  2.  
  3. TransSkel is a Macintosh application development skeleton written in C.  It may be compiled with the Metrowerks or Symantec C++/THINK C compilers for either PowerPC or 68K code.  A binary library may be compiled for use from within Metrowerks Pascal (PowerPC or 68K) applications.
  4.  
  5. Installation instructions may be found below. These are copied from the Distribution section of the Reference Manual (found in the Documents folder).
  6.  
  7. You should read the various release notes (in the Release Notes folder inside the Documents folder) if you've programmed with earlier releases of TransSkel. Changes made to recent releases sometimes result in incompatiblities with applications written with earlier releases.
  8.  
  9. — As of release 3.18, TransSkel compiles cleanly with the Universal headers.  It also compiles under Metrowerks C (either M680x0 or PowerPC code).
  10.  
  11. — As of release 3.19, TransSkel compiles cleanly with either release 1 or 2 of the Universal headers.  It compiles under THINK C 7 or Metrowerks 3.0 through 5.5. It no longer compiles  under THINK C 6 without slight modification.
  12.  
  13. — As of release 3.20, TransSkel compiles with Symantec C++/THINK C 8.0, for either 68K or PPC code generation. It also compiles under Metrowerks 6.0.
  14.  
  15. — As of release 3.21, THINK Pascal support was dropped in favor of Metrowerks Pascal support.
  16.  
  17. — Release 3.22 adds support for the Thread Manager. See the installation and Thread Manager sections of the reference manual if you have trouble compiling the TransSkel library or any of the demonstration applications (particularly the ThreadDemo application).
  18.  
  19. — Release 3.23 adds support for compiling under Metrowerks CodeWarrior 7.
  20.  
  21. — Release 3.24 adds support for compiling under Metrowerks CodeWarrior 8.
  22.  
  23. The THINK C projects are intended for Symantec C++/THINK C 7 or 8. If you have THINK C 6, you cannot open the projects. In that case, look in the Project Listings folder, which contains text listings of the files that should be included in each project document.  You can use these listings to recreate the projects for your compiler.
  24.  
  25. The Metrowerks projects are intended for Metrowerks 8.0.   CodeWarrior 7 seems to open them okay as well. If you still have CodeWarrior 6, project documents for those compilers are available separately. Or, by looking in the Project Listings folder you can tell which source files should go in each project. (The libraries will be a bit different than for Symantec C++, though.)
  26.  
  27. THINK C Note: Apparently you must turn off the Modern Memory Manager on Power Macintoshes if you run THINK C 6 or early versions fo THINK C 7.  THINK C 7.0.4 does not have this problem. You may also encounter memory problems with pre-7.0.4 versions of THINK C if you use RAM Doubler.
  28.  
  29. Paul DuBois
  30. dubois@primate.wisc.edu
  31.  
  32. Release Dates
  33.  
  34. 07 Jan 94 Release 3.06
  35. 26 Jan 94 Release 3.07
  36. 31 Jan 94 Release 3.08
  37. 03 Feb 94 Release 3.09
  38. 14 Feb 94 Release 3.10
  39. 26 Feb 94 Release 3.11
  40. 18 Apr 94 Release 3.12
  41. 02 May 94 Release 3.13
  42. 02 May 94 Release 3.14
  43. 03 May 94 Release 3.15
  44. 04 May 94 Release 3.16
  45. 01 Jun 94 Release 3.17
  46. 19 Nov 94 Release 3.18
  47. 22 Mar 95 Release 3.19
  48. 25 May 95 Release 3.20
  49. 15 Jun 95 Release 3.21
  50. 01 Sep 95 Release 3.22
  51. 03 Oct 95 Release 3.23
  52. 25 Jan 96 Release 3.24
  53.  
  54. _____________________________________
  55.  
  56. Installing TransSkel
  57.  
  58. TransSkel can be used from Symantec C++/THINK C, Metrowerks C, or Metrowerks Pascal.
  59.  
  60. Interface Installation for Symantec C++/THINK C
  61.  
  62. In order for the TransSkel header file and library to be easily accessible to your projects, you should install them inside the same folder as that in which the Symantec Project Manager (or THINK Project Manager) is located. I do this by creating folders named “Local Headers” and “Local Libraries” there. This makes it clear that their contents are not part of Symantec’s distribution.
  63.  
  64. Make a copy of TransSkel.h from the TransSkel “Interface” folder and put it in “Local Headers”. You can copy the libraries TransSkel/SY-68K and TransSkel/SY-PPC.o from the “Interface” folder to “Local Libraries”.  You can then add TransSkel/SY-68K to 680x0 applications and TransSkel/SY-PPC.o to Power Macintosh applications. If the application uses the Thread Manager, use TransSkel-TH/SY-68K or TransSkel-TH/SY-PPC.o.
  65.  
  66. To build a library from scratch, open its project document (located in the TransSkel folder) and update it.
  67.  
  68. If you want, you can include the library projects directly in application projects. Library documents are smaller than project documents, but if you use the project document, the object code for a file isn’t linked into your application if none of the functions in the file are referenced. This results in smaller applications. If you include a library document, all the code is linked in, whether you use it all or not.
  69.  
  70. Interface Installation for Metrowerks CodeWarrior
  71.  
  72. In order for the TransSkel header, interface, and library files to be easily accessible to your projects, you should install them where the Metrowerks compilers and linkers can find them. Find the “MacOS Support” folder located in the same folder as the CodeWarrior IDE application. Inside this you should put a copies of TransSkel.h in the “Headers” folder, TransSkel.p in the “Interfaces” folder, and the library files in the “Libraries” folder.
  73.  
  74. You can add TransSkel/MW-68K to 680x0 applications and TransSkel/MW-PPC to Power Macintosh applications. If the application uses the Thread Manager, use TransSkel-TH/MW-68K or TransSkel-TH/MW-PPC.
  75.  
  76. To build a library from scratch, open its project document (located in the TransSkel folder) and update it.
  77.  
  78. Thread Manager Problems When Compiling TransSkel
  79.  
  80. Thread Manager support is controlled by the useThreads symbol near the top of TransSkel.c. Thread Manager support is turned off if the symbol value is zero. Otherwise, Thread Manager support is turned on.
  81.  
  82. Library project names that begin with “TransSkel” are non-threaded, i.e., built with Thread Manager support turned off. Library project names that begin with “TransSkel-TH” are non-threaded, i.e., built with Thread Manager support turned on.  Thread Manager support is turned on or off appropriately in the prefix file that each library project document uses. The prefix files are found in the Prefix folder.
  83.  
  84. It appears that support for the Thread Manager trickled into Apple’s header files incrementally, and I’m not sure just how to compensate for the various combinations of support:
  85.  
  86. •    If you don’t have Threads.h, use one of the versions in the (Extra Support) folder and put it where your compiler can find it.
  87. •    If you still have trouble compiling TransSkel.c, take a look at the section near the beginning where the #include directives appear and see if you can figure out what symbols you need to define. Please let me know what you had to do (and specify the compiler and compiler version you’re using).
  88. •    If you simply can’t get TransSkel.c to compile, change #define useThreads 1 to #define useThreads 0, and this will disable the code that references the Thread Manager. The SkelSetThreadTimes() and SkelGetThreadTimes() functions will still be available but will have no effect. The skelQHasThreads selector for SkelQuery() will also be available, but it will return false even if the Thread Manager is installed.
  89.